home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / mui / MCC_TableGroup.lha / MCC_TableGroup / Developer / Cluster / txt / MCCTableDemo.mod next >
Text File  |  1999-01-12  |  5KB  |  157 lines

  1. |##########|
  2. |#MAGIC   #|BIEIOJDC
  3. |#PROJECT #|"MCCTableDemo"
  4. |#PATHS   #|"StdProject"
  5. |#LINK    #|""
  6. |#GUIDE   #|""
  7. |#STACK   #|"4096"
  8. |#FLAGS   #|xx---x--xxx-xxx-----------------
  9. |#USERSW  #|--------------------------------
  10. |#USERMASK#|--------------------------------
  11. |#SWITCHES#|xx---xxxxx-xx---
  12. |##########|
  13.  
  14. (*
  15. **   Cluster Source Code for the MCCTableGroup Demo Program
  16. **   ------------------------------------------------------
  17. **
  18. **           written 1998 by Henning Thielemann
  19. **
  20. *)
  21.  
  22. MODULE MCCTableDemo;
  23.  
  24. FROM System        AS y   IMPORT SysStringPtr;
  25. FROM MuiO                 IMPORT All;
  26. FROM MuiOSimple           IMPORT All;
  27. FROM Exec                 IMPORT TaskSigSet, Wait;
  28. FROM MCCTableGroup AS tbl IMPORT All;
  29. FROM T_Intuition          IMPORT WindowNotOpen;
  30.  
  31. PROCEDURE MakeButton (REF text : STRING; vw, hw : LONGCARD := 100) : AreaObject;
  32. BEGIN
  33.   RETURN MakeTextObject (ButtonFrame,
  34.                          textContents : text.data'PTR,
  35.                          textSetVMax  : false,
  36.                          textPreParse : xC,
  37.                          inputMode    : relVerify,
  38.                          horizWeight  : hw,
  39.                          vertWeight   : vw,
  40.                          DONE);
  41. END MakeButton;
  42.  
  43. PROCEDURE MakeSimpleImage (img : StandardImages; vw, hw : LONGCARD := 100) : AreaObject;
  44. BEGIN
  45.   RETURN MakeImageObject     (ButtonFrame,
  46.                               imageSpec      : img,
  47.                               inputMode      : relVerify,
  48.                               imageFreeVert  : true,
  49.                               imageFreeHoriz : true,
  50.                               horizWeight    : hw,
  51.                               vertWeight     : vw,
  52.                               DONE);
  53. END MakeSimpleImage;
  54.  
  55. VAR
  56.   app     : ApplicationObject;
  57.   win     : WindowObject;
  58.   grp     : GroupObject;
  59.   but     : AreaObject;
  60.  
  61.   signal  : TaskSigSet;
  62.  
  63. BEGIN
  64.   grp := MakeTableGroupObject (
  65.     frameTitle : "Table group",
  66.     CAST (TableGroupTags, GroupFrame),
  67.     tableColumns      : 8,
  68.     tableColumn       : 4,
  69.     tableColumnSpace  : 1,
  70.     tableColumn       : 1,
  71.     tableColumnWeight : 50,   | this can also be done within the following groupChild tags
  72.     tableSkipColumns  : 1,
  73.     tableColumnWeight : 50,
  74.     tableColumn       : 0,
  75.     tableColumnSpan   : 2,
  76.     groupChild        : MakeButton ("Del"),
  77.     tableColumnSpan   : 2,
  78.     groupChild        : MakeButton ("Help"),
  79.     groupChild        : MakeButton ("{"* ),
  80.     groupChild        : MakeButton ("}"* ),
  81.     groupChild        : MakeButton ("/"* ),
  82.     groupChild        : MakeButton ("*"* ),
  83.     tableNextColumn   : 4,
  84.     groupChild        : MakeButton ("7"* ),
  85.     groupChild        : MakeButton ("8"* ),
  86.     groupChild        : MakeButton ("9"* ),
  87.     groupChild        : MakeButton ("-"* ),
  88.     tableNextColumn   : 1,
  89.     tableColumnSpan   : 2,
  90.     groupChild        : MakeSimpleImage (arrowUp),
  91.     tableNextColumn   : 4,
  92.     groupChild        : MakeButton ("4"* ),
  93.     groupChild        : MakeButton ("5"* ),
  94.     groupChild        : MakeButton ("6"* ),
  95.     groupChild        : MakeButton ("+"* ),
  96.     groupChild        : MakeSimpleImage (arrowLeft),
  97.     tableColumnSpan   : 2,
  98.     groupChild        : MakeSimpleImage (arrowDown),
  99.     groupChild        : MakeSimpleImage (arrowRight),
  100.     groupChild        : MakeButton ("1"* ),
  101.     groupChild        : MakeButton ("2"* ),
  102.     groupChild        : MakeButton ("3"* ),
  103.     tableRowSpan      : 2,
  104.     groupChild        : MakeButton ("E"+&10+"n"+&10+"t"+&10+"e"+&10+"r"),
  105.     tableNextColumn   : 4,
  106.     tableColumnSpan   : 2,
  107.     groupChild        : MakeButton ("0"* ),
  108.     groupChild        : MakeButton ("."* ),
  109.   DONE);
  110.  
  111.   | in this way you can add child objects later
  112.   SetTableAttrs (grp,
  113.     tableRowSpace     : 1,
  114.     groupChild        : MakeButton ("Alt"),
  115.     tableColumnSpan   : 2,
  116.     groupChild        : MakeButton ("Amiga"),
  117.     tableColumnSpan   : 3,
  118.     groupChild        : MakeButton (" "* ),
  119.     groupChild        : MakeButton ("Amiga"),
  120.     groupChild        : MakeButton ("Alt"),
  121.   DONE);
  122.  
  123.   win :=
  124.     MakeWindowObject (
  125.       windowTitle      : "TableGroup.mcc demo",
  126.       windowIDChar     : "Main".data,
  127.       windowRootObject : grp,
  128.     DONE);
  129.  
  130.   app :=
  131.     MakeApplicationObject (
  132.       applicationTitle         : "MCCTableGroup-Demo",
  133.       applicationVersion       : "$VER: MCCTableGroup-Demo 1.0 (07.01.98)",
  134.       applicationCopyright     : "Copyright ©1998, Henning Thielemann",
  135.       applicationAuthor        : "Henning Thielemann",
  136.       applicationDescription   : "Demonstrates the features of TableGroup.mcc",
  137.       applicationBase          : "TABLEGROUPDEMO",
  138.  
  139.       applicationWindow        : win,
  140.     DONE);
  141.  
  142.   AssertMuiError (app # NIL);
  143.  
  144.   win.Notify (MuiTags : windowCloseRequest : true, notifyApplication, LONGINT (mApplicationReturnID), applicationReturnIDQuit);
  145.   win.Set (MuiTags : windowOpen : true);
  146.   ASSERT (0 # win.GetA (MuiTags : windowOpen : true), WindowNotOpen);
  147.  
  148.   signal := {};
  149.   WHILE app.NewInput (signal) NOT OF applicationReturnIDQuit DO
  150.     IF signal NOT OF {} THEN signal := Wait(signal) END;
  151.   END;
  152.  
  153. CLOSE
  154.   IF app#NIL THEN DisposeObject (app) END;
  155.  
  156. END MCCTableDemo.
  157.